#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //1.一对一
    //一个信号连接一个槽函数
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot);
//    emit Mysignal();

    //一个信号连接另一个信号，再连接槽函数
//    QPushButton* button = new QPushButton(this);
//    button->resize(100,60);
//    button->move(330,300);
//    button->setText("按钮");
//    //一个信号连接一个信号
//    connect(button,&QPushButton::clicked,this,&Widget::Mysignal);
//    //信号再连接槽函数
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot);


    //2.一对多
    //一个信号连接多个槽函数
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot);
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot1);
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot2);
//    connect(this,&Widget::Mysignal,this,&Widget::MySlot3);
//    emit Mysignal();

    //多对一
    //多个信号连接多个槽函数
    connect(this,&Widget::Mysignal,this,&Widget::MySlot);
    connect(this,&Widget::Mysignal1,this,&Widget::MySlot);
    connect(this,&Widget::Mysignal2,this,&Widget::MySlot);
    connect(this,&Widget::Mysignal3,this,&Widget::MySlot);
    emit Mysignal();
    emit Mysignal1();
    emit Mysignal2();
    emit Mysignal3();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::MySlot()
{
    qDebug() << "槽函数被触发";
}

void Widget::MySlot1()
{
    qDebug() << "槽函数1也被触发";
}

void Widget::MySlot2()
{
    qDebug() << "槽函数2也被触发";
}

void Widget::MySlot3()
{
    qDebug() << "槽函数3也被触发";
}


